import TokenType


class Token:
    type: TokenType = None
    value = None

    def __init__(self, type_: TokenType, value):
        self.value = value
        self.type = type_

    def __str__(self):
        return f'Token({self.type}, {repr(self.value)})'

    def __repr__(self):
        return self.__str__()

    def pprint(self):
        return self.value

    def get_type(self) -> TokenType:
        return self.type

    def get_value(self):
        return self.value
